﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
/*
==========================================================
描述
输入一个整数 n ，输出该数32位二进制表示中1的个数。其中负数用补码表示。

数据范围：- 2^31 <= n <= 2^31-1

即范围为:−2147483648<=n<=2147483647
==========================================================
*/

/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 *
 * @param n int整型
 * @return int整型
 */
int NumberOf1(int n)
{
    // write code here
    int count = 0;       //计数器
    for (int i = 0; i < 32; i++, n >>= 1)         //一位一位计数
    {
        count += n & 1;                          //n&1,如果第一位为1则值为1，第二位为0则值为0
    }
    return count;
}